package com.ourteam.product.ui.dao;

import java.util.Arrays;
import java.util.List;
import java.util.Map;
import net.dao.BaseQueryBean;
import net.dao.BaseWhereCriterion;
import net.dao.IDataAccessInterface;
import org.apache.commons.lang.StringUtils;

/**
 * Template Name : DAO查询对象 Template Version : 1 Template Last Modfiy Date : Sat Aug 19 10:06:32 CST
 * 2017 Auto Generate Date : 2018-12-14 15:15:13 Warning ! This file will be overwrite when
 * regenerate !
 */
public class ProductUITableColumnIconDAOQueryBean extends BaseQueryBean {

  public ProductUITableColumnIconDAOQueryBean() {
    super();
  }

  public ProductUITableColumnIconDAOQueryBean(BaseQueryBean aQueryBean) {
    super(aQueryBean);
  }

  public ProductUITableColumnIconDAOQueryBean(BaseQueryBean aQueryBean, Map tableReplaceMap) {
    super(aQueryBean, tableReplaceMap);
  }

  public Criteria createCriteria() {

    Criteria criteria = createCriteriaInternal();
    if (oredCriteria.size() == 0) {
      oredCriteria.add(criteria);
    }
    return criteria;
  }

  protected Criteria createCriteriaInternal() {
    return new Criteria(this);
  }

  public void addIdSelectProperty() {
    addIdSelectProperty("id");
  }

  public void addIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITableColumnIconDAO.Id, aAlias);
    } else {
      addSelectProperty(IProductUITableColumnIconDAO.Id, "id");
    }
  }

  public void addColumnIdSelectProperty() {
    addColumnIdSelectProperty("columnId");
  }

  public void addColumnIdSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITableColumnIconDAO.ColumnId, aAlias);
    } else {
      addSelectProperty(IProductUITableColumnIconDAO.ColumnId, "columnId");
    }
  }

  public void addDataValueSelectProperty() {
    addDataValueSelectProperty("dataValue");
  }

  public void addDataValueSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITableColumnIconDAO.DataValue, aAlias);
    } else {
      addSelectProperty(IProductUITableColumnIconDAO.DataValue, "dataValue");
    }
  }

  public void addDataIconSelectProperty() {
    addDataIconSelectProperty("dataIcon");
  }

  public void addDataIconSelectProperty(String aAlias) {
    if (StringUtils.isNotBlank(aAlias)) {
      addSelectProperty(IProductUITableColumnIconDAO.DataIcon, aAlias);
    } else {
      addSelectProperty(IProductUITableColumnIconDAO.DataIcon, "dataIcon");
    }
  }

  public void addAllSelectProperties() {

    addIdSelectProperty();

    addColumnIdSelectProperty();

    addDataValueSelectProperty();

    addDataIconSelectProperty();
  }

  public static class Criteria extends BaseWhereCriterion<ProductUITableColumnIconDAOQueryBean> {

    protected Criteria(ProductUITableColumnIconDAOQueryBean aParentObject) {
      super(aParentObject);
    }

    public Criteria andIdIsNull() {
      addCriterion(IProductUITableColumnIconDAO.Id + " is null");
      return this;
    }

    public Criteria andIdIsNotNull() {
      addCriterion(IProductUITableColumnIconDAO.Id + " is not null");
      return this;
    }

    public Criteria andIdIsNotEmpty() {
      addCriterion(
          IProductUITableColumnIconDAO.Id
              + " is not null AND "
              + IProductUITableColumnIconDAO.Id
              + " <> ''");
      return this;
    }

    public Criteria andIdIsEmpty() {
      addCriterion(
          "("
              + IProductUITableColumnIconDAO.Id
              + " is null OR "
              + IProductUITableColumnIconDAO.Id
              + " = '')");
      return this;
    }

    public Criteria andIdEqualTo(long value) {
      return andIdEqualTo(Long.valueOf(value));
    }

    public Criteria andIdEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.Id + " = ", value, "id");
      return this;
    }

    public Criteria andIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.Id);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotEqualTo(long value) {
      return andIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andIdNotEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.Id + " <>", value, "id");
      return this;
    }

    public Criteria andIdNotEqualToOrIsNull(long value) {
      return andIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IProductUITableColumnIconDAO.Id
              + " is null OR "
              + IProductUITableColumnIconDAO.Id
              + " <>",
          value,
          "id");
      return this;
    }

    public Criteria andIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.Id);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdNotEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThan(long value) {
      return andIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andIdGreaterThan(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.Id + " >", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.Id);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(long value) {
      return andIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.Id + " >=", value, "id");
      return this;
    }

    public Criteria andIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.Id);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThan(long value) {
      return andIdLessThan(Long.valueOf(value));
    }

    public Criteria andIdLessThan(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.Id + " <", value, "id");
      return this;
    }

    public Criteria andIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.Id);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThan(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(long value) {
      return andIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.Id + " <=", value, "id");
      return this;
    }

    public Criteria andIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.Id);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdIn(long[] values) {
      if (values.length == 1) {
        return andIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITableColumnIconDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITableColumnIconDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andIdEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.Id + " in", values, "id");
        return this;
      }
    }

    public Criteria andIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.Id + " not in", values, "id");
        return this;
      }
    }

    public Criteria andIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andIdEqualTo(values[0]);
      } else {
        addCriterion(IProductUITableColumnIconDAO.Id + " in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andIdNotEqualTo(values[0]);
      } else {
        addCriterion(IProductUITableColumnIconDAO.Id + " not in", Arrays.asList(values), "id");
        return this;
      }
    }

    public Criteria andIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.Id + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andIdBetween(long value1, long value2) {
      addCriterion(IProductUITableColumnIconDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITableColumnIconDAO.Id + " between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(long value1, long value2) {
      addCriterion(IProductUITableColumnIconDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITableColumnIconDAO.Id + " not between", value1, value2, "id");
      return this;
    }

    public Criteria andColumnIdIsNull() {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " is null");
      return this;
    }

    public Criteria andColumnIdIsNotNull() {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " is not null");
      return this;
    }

    public Criteria andColumnIdIsNotEmpty() {
      addCriterion(
          IProductUITableColumnIconDAO.ColumnId
              + " is not null AND "
              + IProductUITableColumnIconDAO.ColumnId
              + " <> ''");
      return this;
    }

    public Criteria andColumnIdIsEmpty() {
      addCriterion(
          "("
              + IProductUITableColumnIconDAO.ColumnId
              + " is null OR "
              + IProductUITableColumnIconDAO.ColumnId
              + " = '')");
      return this;
    }

    public Criteria andColumnIdEqualTo(long value) {
      return andColumnIdEqualTo(Long.valueOf(value));
    }

    public Criteria andColumnIdEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.ColumnId + " = ", value, "columnId");
      return this;
    }

    public Criteria andColumnIdEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.ColumnId);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andColumnIdEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdNotEqualTo(long value) {
      return andColumnIdNotEqualTo(Long.valueOf(value));
    }

    public Criteria andColumnIdNotEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.ColumnId + " <>", value, "columnId");
      return this;
    }

    public Criteria andColumnIdNotEqualToOrIsNull(long value) {
      return andColumnIdNotEqualToOrIsNull(Long.valueOf(value));
    }

    public Criteria andColumnIdNotEqualToOrIsNull(java.lang.Long value) {

      addCriterion(
          IProductUITableColumnIconDAO.ColumnId
              + " is null OR "
              + IProductUITableColumnIconDAO.ColumnId
              + " <>",
          value,
          "columnId");
      return this;
    }

    public Criteria andColumnIdNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.ColumnId);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andColumnIdNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdGreaterThan(long value) {
      return andColumnIdGreaterThan(Long.valueOf(value));
    }

    public Criteria andColumnIdGreaterThan(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.ColumnId + " >", value, "columnId");
      return this;
    }

    public Criteria andColumnIdGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.ColumnId);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andColumnIdGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdGreaterThanOrEqualTo(long value) {
      return andColumnIdGreaterThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andColumnIdGreaterThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.ColumnId + " >=", value, "columnId");
      return this;
    }

    public Criteria andColumnIdGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.ColumnId);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andColumnIdGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdLessThan(long value) {
      return andColumnIdLessThan(Long.valueOf(value));
    }

    public Criteria andColumnIdLessThan(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.ColumnId + " <", value, "columnId");
      return this;
    }

    public Criteria andColumnIdLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.ColumnId);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andColumnIdLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdLessThanOrEqualTo(long value) {
      return andColumnIdLessThanOrEqualTo(Long.valueOf(value));
    }

    public Criteria andColumnIdLessThanOrEqualTo(java.lang.Long value) {

      addCriterion(IProductUITableColumnIconDAO.ColumnId + " <=", value, "columnId");
      return this;
    }

    public Criteria andColumnIdLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.ColumnId);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andColumnIdLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdIn(long[] values) {
      if (values.length == 1) {
        return andColumnIdEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITableColumnIconDAO.ColumnId + " in", values, "columnId");
        return this;
      }
    }

    public Criteria andColumnIdNotIn(long[] values) {
      if (values.length == 1) {
        return andColumnIdNotEqualTo((java.lang.Long) values[0]);
      } else {
        addCriterion(IProductUITableColumnIconDAO.ColumnId + " not in", values, "columnId");
        return this;
      }
    }

    public Criteria andColumnIdIn(List<java.lang.Long> values) {

      if (values.size() == 1) {
        return andColumnIdEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.ColumnId + " in", values, "columnId");
        return this;
      }
    }

    public Criteria andColumnIdNotIn(List<java.lang.Long> values) {
      if (values.size() == 1) {
        return andColumnIdNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.ColumnId + " not in", values, "columnId");
        return this;
      }
    }

    public Criteria andColumnIdIn(java.lang.Long[] values) {

      if (values.length == 1) {
        return andColumnIdEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITableColumnIconDAO.ColumnId + " in", Arrays.asList(values), "columnId");
        return this;
      }
    }

    public Criteria andColumnIdNotIn(java.lang.Long[] values) {
      if (values.length == 1) {
        return andColumnIdNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITableColumnIconDAO.ColumnId + " not in", Arrays.asList(values), "columnId");
        return this;
      }
    }

    public Criteria andColumnIdIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andColumnIdBetween(long value1, long value2) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " between", value1, value2, "columnId");
      return this;
    }

    public Criteria andColumnIdBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(IProductUITableColumnIconDAO.ColumnId + " between", value1, value2, "columnId");
      return this;
    }

    public Criteria andColumnIdNotBetween(long value1, long value2) {
      addCriterion(
          IProductUITableColumnIconDAO.ColumnId + " not between", value1, value2, "columnId");
      return this;
    }

    public Criteria andColumnIdNotBetween(java.lang.Long value1, java.lang.Long value2) {
      addCriterion(
          IProductUITableColumnIconDAO.ColumnId + " not between", value1, value2, "columnId");
      return this;
    }

    public Criteria andDataValueIsNull() {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " is null");
      return this;
    }

    public Criteria andDataValueIsNotNull() {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " is not null");
      return this;
    }

    public Criteria andDataValueIsNotEmpty() {
      addCriterion(
          IProductUITableColumnIconDAO.DataValue
              + " is not null AND "
              + IProductUITableColumnIconDAO.DataValue
              + " <> ''");
      return this;
    }

    public Criteria andDataValueIsEmpty() {
      addCriterion(
          "("
              + IProductUITableColumnIconDAO.DataValue
              + " is null OR "
              + IProductUITableColumnIconDAO.DataValue
              + " = '')");
      return this;
    }

    public Criteria andDataValueEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataValue + " = ", value, "dataValue");
      return this;
    }

    public Criteria andDataValueEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataValue);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueNotEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataValue + " <>", value, "dataValue");
      return this;
    }

    public Criteria andDataValueNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITableColumnIconDAO.DataValue
              + " is null OR "
              + IProductUITableColumnIconDAO.DataValue
              + " <>",
          value,
          "dataValue");
      return this;
    }

    public Criteria andDataValueNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataValue);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueGreaterThan(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataValue + " >", value, "dataValue");
      return this;
    }

    public Criteria andDataValueGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataValue);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataValue + " >=", value, "dataValue");
      return this;
    }

    public Criteria andDataValueGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataValue);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueLessThan(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataValue + " <", value, "dataValue");
      return this;
    }

    public Criteria andDataValueLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataValue);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueLessThanOrEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataValue + " <=", value, "dataValue");
      return this;
    }

    public Criteria andDataValueLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataValue);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataValueLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUITableColumnIconDAO.DataValue + " like", buffer.toString(), "dataValue");
      return this;
    }

    public Criteria andDataValueNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUITableColumnIconDAO.DataValue + " not like", buffer.toString(), "dataValue");
      return this;
    }

    public Criteria andDataValueIn(List<String> values) {

      if (values.size() == 1) {
        return andDataValueEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.DataValue + " in", values, "dataValue");
        return this;
      }
    }

    public Criteria andDataValueNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDataValueNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.DataValue + " not in", values, "dataValue");
        return this;
      }
    }

    public Criteria andDataValueIn(String[] values) {

      if (values.length == 1) {
        return andDataValueEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITableColumnIconDAO.DataValue + " in", Arrays.asList(values), "dataValue");
        return this;
      }
    }

    public Criteria andDataValueNotIn(String[] values) {
      if (values.length == 1) {
        return andDataValueNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITableColumnIconDAO.DataValue + " not in", Arrays.asList(values), "dataValue");
        return this;
      }
    }

    public Criteria andDataValueIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataValue + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataValueBetween(String value1, String value2) {
      addCriterion(
          IProductUITableColumnIconDAO.DataValue + " between", value1, value2, "dataValue");
      return this;
    }

    public Criteria andDataValueNotBetween(String value1, String value2) {
      addCriterion(
          IProductUITableColumnIconDAO.DataValue + " not between", value1, value2, "dataValue");
      return this;
    }

    public Criteria andDataIconIsNull() {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " is null");
      return this;
    }

    public Criteria andDataIconIsNotNull() {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " is not null");
      return this;
    }

    public Criteria andDataIconIsNotEmpty() {
      addCriterion(
          IProductUITableColumnIconDAO.DataIcon
              + " is not null AND "
              + IProductUITableColumnIconDAO.DataIcon
              + " <> ''");
      return this;
    }

    public Criteria andDataIconIsEmpty() {
      addCriterion(
          "("
              + IProductUITableColumnIconDAO.DataIcon
              + " is null OR "
              + IProductUITableColumnIconDAO.DataIcon
              + " = '')");
      return this;
    }

    public Criteria andDataIconEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataIcon + " = ", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataIcon);
      str.append(" = ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconEqualTo(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " = ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconNotEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataIcon + " <>", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconNotEqualToOrIsNull(String value) {

      addCriterion(
          IProductUITableColumnIconDAO.DataIcon
              + " is null OR "
              + IProductUITableColumnIconDAO.DataIcon
              + " <>",
          value,
          "dataIcon");
      return this;
    }

    public Criteria andDataIconNotEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataIcon);
      str.append(" <> ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconNotEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " <> ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconGreaterThan(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataIcon + " >", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconGreaterThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataIcon);
      str.append(" > ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconGreaterThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " > ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconGreaterThanOrEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataIcon + " >=", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconGreaterThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataIcon);
      str.append(" >= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconGreaterThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " >= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconLessThan(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataIcon + " <", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconLessThanForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataIcon);
      str.append(" < ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconLessThan(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " < ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconLessThanOrEqualTo(String value) {

      addCriterion(IProductUITableColumnIconDAO.DataIcon + " <=", value, "dataIcon");
      return this;
    }

    public Criteria andDataIconLessThanOrEqualToForeignKey(java.lang.String key) {
      StringBuffer str = new StringBuffer(IProductUITableColumnIconDAO.DataIcon);
      str.append(" <= ").append(key);
      addForeignKeyCriterion(str.toString());
      return this;
    }

    public Criteria andDataIconLessThanOrEqualTo(
        BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " <= ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " like", buffer.toString(), "dataIcon");
      return this;
    }

    public Criteria andDataIconNotLike(String value) {
      StringBuffer buffer = new StringBuffer("%");
      buffer.append(value);
      buffer.append("%");
      addCriterion(
          IProductUITableColumnIconDAO.DataIcon + " not like", buffer.toString(), "dataIcon");
      return this;
    }

    public Criteria andDataIconIn(List<String> values) {

      if (values.size() == 1) {
        return andDataIconEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.DataIcon + " in", values, "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconNotIn(List<String> values) {
      if (values.size() == 1) {
        return andDataIconNotEqualTo(values.get(0));
      } else {
        addCriterion(IProductUITableColumnIconDAO.DataIcon + " not in", values, "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconIn(String[] values) {

      if (values.length == 1) {
        return andDataIconEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITableColumnIconDAO.DataIcon + " in", Arrays.asList(values), "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconNotIn(String[] values) {
      if (values.length == 1) {
        return andDataIconNotEqualTo(values[0]);
      } else {
        addCriterion(
            IProductUITableColumnIconDAO.DataIcon + " not in", Arrays.asList(values), "dataIcon");
        return this;
      }
    }

    public Criteria andDataIconIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconNotIn(BaseQueryBean subQueryBean, IDataAccessInterface<?, ?> dao) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " not in ", subQueryBean, dao);
      return this;
    }

    public Criteria andDataIconBetween(String value1, String value2) {
      addCriterion(IProductUITableColumnIconDAO.DataIcon + " between", value1, value2, "dataIcon");
      return this;
    }

    public Criteria andDataIconNotBetween(String value1, String value2) {
      addCriterion(
          IProductUITableColumnIconDAO.DataIcon + " not between", value1, value2, "dataIcon");
      return this;
    }
  }
}
